<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>03姓名案例-计算属性实现</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 准备好一个容器-->
        <div id="demo">
            姓:<input type="text" v-model='firstName'><br>
            名:<input type="text" v-model='lastName'><br>
            全名:<p>{{fullName}}</p>
            <button @click='changeFullName'>点击将全名改为:Chen--qiuqiu</button>
        </div>
    </body>

    <script type="text/javascript">
        //阻止 vue 在启动时生成生产提示。
        Vue.config.productionTip = false
        new Vue({
            el:'#demo',
            data:{
                firstName:'ma',
                lastName:'lele'
            },
            methods: {
                changeFullName(){
                    this.fullName='Chen--qiuqiu'
                }
            },
            computed: {
                fullName:{
                    get(){
                        // 计算属性靠返回值实现
                        return  this.firstName[0].toUpperCase()+this.firstName.slice(1)+'--'+this.lastName
                    },
                    set(val){
                        console.log(val);
                        // 修改收到的val为fullName  直接修改添加属性时调用set
                        const arr = val.split('--')
						this.firstName = arr[0].toLowerCase()
						this.lastName = arr[1]
                    }
                }
            }
        })
    </script>
</html>